Skip to content

profullstack/c0mpute

Repository files navigation

c0mpute

Decentralized compute network. CLI-first. Three modules out of the box: transcode (FFmpeg), coinpay (DID + escrow), infernet (AI inference).

License: MIT Rust Bun GitHub stars GitHub last commit GitHub issues

Install

curl -fsSL https://c0mpute.com/install.sh | sh

That installs three CLIs into ~/.c0mpute/bin:

Binary Purpose Source
c0mpute Umbrella CLI: jobs, workers, modules, dispatch this repo
coinpay DID, wallet, escrow, payments, receipts, reputation upstream coinpay project
infernet AI inference workload runner infernet-protocol (upstream)

The c0mpute installer pulls each from its own release feed.

What c0mpute does

# identity
c0mpute coinpay did create
c0mpute coinpay did create --role worker

# run a worker
c0mpute worker register
c0mpute worker start --gpu

# submit jobs
c0mpute transcode submit input.mov --preset hls --max-price 1.25
c0mpute infernet run prompts.jsonl --model qwen --max-price 5.00

# monitor
c0mpute job status <job-id>
c0mpute tui                              # interactive dashboard (react-blessed)
c0mpute doctor                           # full-stack health check

# trust
c0mpute coinpay reputation inspect did:coinpay:worker:abc123

The plugin form mirrors the URL namespace: c0mpute.com/transcode, c0mpute.com/coinpay, c0mpute.com/infernet.

Architecture at a glance

┌──────────────────── c0mpute (Rust binary) ────────────────────┐
│   subcommands: doctor, worker, job, modules, tui              │
│   plugins: transcode (in-process)                             │
│            coinpay   (subprocess → external `coinpay` binary) │
│            infernet  (subprocess → external `infernet` binary)│
└───────────────────────────────────────────────────────────────┘
                  ▲                      ▲
                  │ libp2p Kad-DHT       │ signed-request envelopes
                  ▼                      ▼
       p2p mesh of workers          coinpay (DID, escrow, receipts)
       (no central coordinator)
Layer Language Why
CLI binaries (c0mpute) Rust Static binary; no runtime to install on workers
P2P / chunks / FFmpeg Rust rust-libp2p, content-addressed storage, no GC pauses
Web (apps/web) Bun + Next.js 16 Apex landing at c0mpute.com
TUI (apps/tui) Bun + react-blessed c0mpute tui interactive dashboard
Future GPU kernels Mojo When a workload needs custom GPU compute (DIP-0009)

Repo layout

.
├── docs/
│   └── c0mpute-v1.md                  # v1 PRD (source of truth)
├── dips/                              # design proposals
├── node/
│   └── crates/                        # all Rust source — host + transcode workload
│       ├── c0mpute-cli/                 # produces `c0mpute`
│       ├── c0mpute-core/, c0mpute-net/, c0mpute-store/, c0mpute-gateway/
│       ├── c0mpute-verify/, c0mpute-update/, c0mpute-doctor/
│       ├── c0mpute-proto/, c0mpute-api/
│       └── c0mpute-transcode/           # in-process FFmpeg workload
├── plugins/                           # marketplace manifests only
│   ├── transcode/module.toml          # in-process; code at node/crates/c0mpute-transcode
│   ├── coinpay/module.toml            # subprocess; binary from upstream coinpay
│   └── infernet/module.toml           # subprocess; binary from infernetprotocol/infernet-protocol
├── apps/
│   ├── web/                           # @c0mpute/web — Next.js apex landing
│   └── tui/                           # @c0mpute/tui — react-blessed TUI
├── packages/
│   └── shared/                        # @c0mpute/shared — shared TS types
├── .mise.toml                         # contributor toolchain pins
├── railpack.json                      # Railway build config (provider hint)
└── scripts/
    ├── install.sh                     # served at c0mpute.com/install.sh
    └── dev-setup.sh                   # contributor bootstrap

There is no central backend — no Supabase, no coordinator daemon. Discovery, dispatch, and verification flow through libp2p Kad-DHT + gossipsub. Identity, payments, escrow, and reputation flow through CoinPay DID. The only public infrastructure we host is static (landing site, release tarballs, bootstrap seed list, plugin manifest mirrors). See DIP-0011.

plugins/ directory is for marketplace metadata only. Each plugin's module.toml describes how c0mpute discovers, dispatches to, and (in the future) lets users install/enable/disable it. The plugin's actual binary comes from its own release feed.

Quickstart (contributors)

scripts/dev-setup.sh                   # mise + pinned tools + bun install
mise run cli -- doctor                 # full-stack diagnostics
mise run cli -- transcode preset list
mise run test                          # rust + tsc

# build the c0mpute binary directly
cargo build --bin c0mpute
./target/debug/c0mpute --help

Status

Working today

  • c0mpute Rust binary builds; clap surface for doctor, worker, job, plugin, transcode, coinpay (passthrough), infernet (passthrough), tui, version
  • c0mpute plugin install <url> chain-calls upstream installers
  • c0mpute doctor cross-checks coinpay and infernet on PATH
  • Apex landing at c0mpute.com deployed via Railway, dark CLI-aesthetic with /, /getting-started, /docs, /contact, /terms, /privacy
  • www.c0mpute.com → apex 308 redirect via next.config.mjs
  • apps/tui scaffold renders a placeholder dashboard
  • 12 Rust unit tests pass

Not yet wired up

  • Real CoinPay DID generation, escrow, receipts (DIP-0007 — depends on upstream coinpay project shipping)
  • Real Infernet runtime integration (depends on upstream infernet-protocol)
  • libp2p networking (c0mpute-net is a trait surface today; bootstrap design in DIP-0010)
  • Plugin marketplace UI on the dashboard (/plugins page coming)

License

MIT

About

Decentralized compute network. CLI-first. Three modules out of the box: transcode (FFmpeg), coinpay (DID + escrow), infernet (AI inference).

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors